草庐IT

Java getNodeName 和命名空间

全部标签

c++ - 解决命名空间冲突

我有一个命名空间,其中包含我使用的大量符号,但我想覆盖其中一个:外部库.hnamespaceLottaStuff{classLotsOfClasses{};classOneMoreClass{};};我的文件.husingnamespaceLottaStuff;namespaceMyCustomizations{classOneMoreClass{};};usingMyCustomizations::OneMoreClass;我的文件.cppintmain(){OneMoreClassfoo;//error:referenceto'OneMoreClass'isambiguousret

C++:extern "C"和类成员之间的命名空间冲突

我偶然发现了一个相当奇特的c++命名空间问题:浓缩示例:extern"C"{voidsolve(lprec*lp);}classA{public:lprec*lp;voidsolve(intfoo);}voidA::solve(intfoo){solve(lp);}我想在我的C++成员函数A::solve中调用c函数solve。编译器对我的意图不满意:errorC2664:'lp_solve_ilp::solve':cannotconvertparameter1from'lprec*'to'int'我可以在solve函数前加前缀吗?C::solve不起作用

C++ 在源文件中使用命名空间

假设我正在制作一个项目,并且我在名为Project的命名空间中拥有大部分项目。我在名为MainProject的命名空间Project中定义了一个类。在源文件中,要实现该类,我是否执行“使用命名空间项目;”还是将其包装在“命名空间项目{...}”嵌套中? 最佳答案 给定标题“n.h”:namespacen{externvoidf();}以下不在命名空间n中定义f()(从这里开始,我将其称为n::f:#include"n.h"usingnamespacen;voidf(){}如果您尝试在任何地方引用n::f,您将遇到链接时错误。上面在全

c++ - 可以在构造时修改命名的 std::string 吗?

有谁知道为什么注释行编译失败但未注释行没问题?#includeintmain(){//std::stringfoo("hello").erase(2);//Thisdoesn'tcompile...std::string("hello").erase(2);//...butthisdoes.}包含注释行会导致此错误:main.cpp:Infunction‘intmain()’:main.cpp:5:error:expected‘,’or‘;’before‘.’token谁能解释一下在构造匿名std::string对象时修改匿名对象和命名对象的规则是什么? 最

c++ - 我们什么时候在 C++ 中实际使用过层次命名空间?

我能理解一级命名空间的用途。但是3层命名空间。看起来很疯狂。那有什么实际用途吗?还是只是一种误解? 最佳答案 分层命名空间确实有一个用途,因为它们允许逐渐更精确的定义。当然,一个提供者可能会产生两个同名的类。通常第一层是公司名称,第二层指定产品,第三层(可能更多)我提供域名。命名空间隔离还有其他用途。一种流行的情况是将工厂模式的基类放在它自己的命名空间中,然后由提供者将派生工厂放在它们自己的命名空间中。例如。System.Data、System.Data.SqlClient和System.Data.OleDbClient。

c++ - 如何从嵌套命名空间中引用外部 C++ 命名空间?

我在默认/“根”命名空间中定义了两个命名空间,nsA和nsB。nsA有一个子命名空间,nsA::subA。当我尝试从nsA::subA内部引用属于nsB的函数时,出现错误:undefinedreferenceto`nsA::subA::nsB::theFunctionInNsB(...)'有什么想法吗? 最佳答案 使用全局范围解析:::nsB::TheFunctionInNsB() 关于c++-如何从嵌套命名空间中引用外部C++命名空间?,我们在StackOverflow上找到一个类似的

c++ - 当应用于命名空间范围内的类时,静态意味着什么?

我知道命名空间范围内的static表示“内部链接”。现在考虑以下代码:staticclassFoo{}foo;static是否适用于Foo、foo或两者? 最佳答案 它适用于在类定义之后声明的变量。在C++中,没有staticclass这样的东西。只有static对象和static函数。 关于c++-当应用于命名空间范围内的类时,静态意味着什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

c++ - Doxygen 没有列出嵌套的命名空间

我已经将我们的C++类注释更新为doxygen格式,它们看起来不错……但是namespace列表/选项卡根本没有用。我们有一个父命名空间,例如john,然后是每个库或功能区域的子命名空间,例如john::graphics、john::sound、等等Doxygen只列出了一个命名空间:john。我是否必须简单地更改一些设置,或者是否必须记录我的命名空间以便doxygen获取它们? 最佳答案 通常,您必须记录任何内容,以便Doxygen确定它是否重要。包括命名空间。但是您不必特别好地记录它们;Doxygen只需简要说明它们的用途就足以

c++ - std::pair 将 first 和 second 分配给语义命名的变量

有一个非常流行的问题是“std::pairvsstructwithtwofields”。但我有一个关于将first和second值重新分配给语义命名变量的问题。在常规情况下,我们有这样的事情:conststd::pairresult=processSomething();std::cout但是如果我们先将它们分配给引用变量呢:conststd::pairresult=processSomething();constint&numTotal=result.first;constint&numSuccessful=result.second;std::cout这使我们无需编写有关first

c# - 如何使用命名管道在 C++ .dll 和 C# 应用程序之间发送消息?

我正在制作一个用C++编写的注入(inject).dll,我想使用命名管道与C#应用程序通信。现在,我在C#应用程序中使用内置的System.IO.Pipe.net类,并且在C++中使用常规函数。我在C++方面没有太多经验(阅读:这是我的第一个C++代码..),但我在C#方面很有经验。似乎与服务器和客户端的连接正常,唯一的问题是消息没有被发送。我尝试将.dll作为服务器,将C#应用程序作为服务器,将管道方向设为InOut(双工),但似乎都不起作用。当我尝试使.dll成为向C#应用程序发送消息的服务器时,我使用的代码如下:DWORDServerCreate()//functiontocr